1. Field of the Invention
This invention relates to a method and an apparatus for moving a cursor while constrained on the contour of a graphics object in order to permit a point on the contour of the graphics object to be easily selected in a graphics processing system using a computer.
2. Description of Related Art
Processing of a graphics object displayed on a display screen is typically performed by moving a cursor. A user, while looking at the display screen, controls the movement of the cursor by giving instructions through a cursor key or by moving a pointing device such as a mouse. Moving and positioning the cursor on a specific point on the contour of the displayed graphics object involves a troublesome visual operation for the user. Moreover, this operation alone does not allow the user to select a point on the contour of the graphics object with geometrical precision; he or she can merely select a point that appears to his or her eyes to be nearest to the target graphics object.
In this connection, patent applications were submitted on the following two inventions, which aim to provide a precise and easy method of moving a cursor to a specific position on a graphics object, and descriptions of the inventions were published.
The invention disclosed in JA PUPA 60-168227 is first explained below. According to the invention, when a user wants to select a point P on the line E shown in FIG. 21, he first locates the cursor at an arbitrary point Q on the S-shaped curve E. This specifies the starting point for tracking. Next, the user specifies the direction in which tracking should start by moving the part for manipulation from point Q toward point P. The pixels forming the line figure are then sequentially tracked in the specified direction by a line tracking unit. This cursor movement control apparatus is provided with multiple predetermined masks for tracking pixels. The user can select one of the pixels being tracked. Tracking of pixels is continued until the user specifies that the process be terminated, that is, until a point on the line is selected.
This cursor movement control apparatus, however, involves the following problems:
(1) The user must specify a point and a direction to start tracking. Further, once the tracking has begun, the direction cannot be changed. In the example shown in FIG. 21, if the cursor has passed beyond the desired point P, the user must again specify the starting point and direction of tracking in order to move back the cursor. This is troublesome. PA1 (2) As shown in FIG. 22A, segment N, which intersects segment M, cannot be tracked. More specifically, pixels are distributed as shown in FIG. 22B at the point of intersection of segments M and N, and this prior art apparatus cannot determine which of P2 and P3 should be selected as a subsequent pixel to P1. Even if it could do so, the apparatus might often fail to track segment N but and instead track the segment M. Line figures often include points of intersection or contact. In order to track such a line figure precisely, a method should be based on graphics objects, rather than on tracking pixels as in this device. PA1 This cursor movement control apparatus, however, involves the following problems: PA1 (2) Since the starting point of tracking is fixed, it takes much labor and time to move the cursor to a distant point such as R. PA1 (3) In the example shown in FIG. 23B, the user first specified rightward movement: nevertheless the cursor C moves leftward near the point R on the display screen. This leads to a very bad operability. PA1 (4) In this cursor movement control apparatus, the cursor can be moved along the contour of a graphics object only if it is representable as a function of F (x, y). Therefore, the apparatus cannot treat a free curve drawn by freely moving the mouse cursor on the display screen, as shown in FIG. 24. PA1 (a) entering a signal for pointing to a position on the display screen; PA1 (b) determining a point on the display screen in response to the signal entered in step (a); PA1 (c) determining a point on the graphics object which is near to the point determined in step (b); and PA1 (d) displaying a cursor at the point determined in step (c). PA1 (a) entering a signal for pointing to a position on the display screen; PA1 (b) determining a segment li from the continuous series of segments displayed on the display screen and a point Qi on the display screen, in response to the signal entered in step (a); PA1 (c) determining a point Pi that is a projection of said point Qi onto the segment li; and PA1 (d) displaying a cursor at said point Pi.
The next explanation is directed to the invention disclosed in JA PUPA 62-242494. In the method used with this cursor movement control apparatus, graphics objects are treated as functions, and a point at which tracking should start is predetermined for each graphics object. When a user specifies a graphics object, the cursor is moved to and displayed at the starting point of tracking on the graphics object. When the user specifies a tracking direction by means of a cursor key, the cursor starts moving in the specified direction. In the example shown in FIG. 23A, the starting point of tracking on a circle S is fixed at point P and, when the user instructs a rightward movement, the cursor C starts moving toward a terminal point Q in the direction indicated by an arrow.
(1) The user must specify a point and a direction to start tracking. Further, once the tracking has begun, the direction cannot be changed. In the example shown in FIG. 23A, if the cursor has passed beyond the desired point R, the user must return the cursor to the starting point of tracking P and specify the tracking direction. This is troublesome.
The common features of the foregoing apparatuses configured to move a cursor along the contour of a graphics object are the need to specify a tracking direction every time the user starts tracking a graphics object with a cursor and the impossibility of changing the direction once the tracking has begun. Since a point on a graphics object is selected by trial and error in most cases, repeatedly specifying the manipulation for every change in the tracking direction is a burden on the user. In addition, tracking of a graphics object is performed automatically, and the user can specify only that the process be terminated. While cursor movements other than for tracking a graphics object are controlled through a pointing device or an equivalent, tracking of a graphics object alone is outside the direct control of the user; this lacks consistency and results in bad operability.